home *** CD-ROM | disk | FTP | other *** search
- Path: news.princeton.edu!blume
- From: blume@zayin.cs.princeton.edu (Matthias Blume)
- Newsgroups: comp.lang.java,comp.lang.c++,comp.lang.smalltalk
- Subject: Re: Will Java kill C++?
- Date: 18 Apr 1996 14:38:56 GMT
- Organization: Princeton University
- Distribution: world
- Message-ID: <BLUME.96Apr18103856@zayin.cs.princeton.edu>
- References: <3134D499.653E@ix.netcom.com> <4ku8rq$pav@cubenx.cube.de>
- <goochb.340.00156E50@rwi.com>
- <BLUME.96Apr16103345@zayin.cs.princeton.edu>
- <Dq0poC.3Iy@news.hawaii.edu>
- NNTP-Posting-Host: zayin.cs.princeton.edu
- In-reply-to: phinely@Hawaii.Edu's message of Wed, 17 Apr 1996 17:53:00 GMT
-
- In article <Dq0poC.3Iy@news.hawaii.edu> phinely@Hawaii.Edu (Peter Hinely) writes:
-
- In article <BLUME.96Apr16103345@zayin.cs.princeton.edu>,
- Matthias Blume <blume@zayin.cs.princeton.edu> wrote:
- >In article <goochb.340.00156E50@rwi.com> goochb@rwi.com (William D. Gooch) writes:
- >
- > I do think there's a serious lack of adequate instruction on
- > the proper use of MI. Perhaps this can be rectified.
- >
- >The only kind of `adequate' instruction on the `proper use' of MI is:
- >
- > DON'T!
- >
- >BTW, there are people who think that *inheritance* is a bad idea
- >already. MI is only taking a bad idea to the extreme...
- >
-
- There are people that think *computers* are a bad idea.
-
- True. But those people usually know very little about computers. On
- the other hand, the people I'm talking about know more about
- programming language design than a sizable fraction of the readers of
- this newsgroup taken together.
-
- Perhaps you could elaborate a little more why you/they think
- inheritance/multiple inheritance is a bad idea.
-
- It turns out that inheritance with overiding hasn't been successfully
- modelled yet in any clean semantic framework. There has been some
- progress, but usually people stop just short of adding inheritance,
- because it messes everything up.
-
- Inheritance with overriding runs counter to any kind of desirable
- modularity -- it basically becomes impossible to establish useful
- invariants.
-
- The true benefits from contemporary OO languages come from the fact
- that they provide means to express abstraction (albeit considerable
- caution is necessary) and some limited form of polymorphism. (Better)
- Abstraction and polymorphism are available from other (non-OO)
- languages as well. It is definitely worth having a look at something
- like Standard ML, which has a very powerful type- and module-system,
- while being soundly based on a cleanly defined semantic framework.
-
- --
- -Matthias
-